<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
    <script type="text/JavaScript">
       /*
           定义一个用来求两个数求和的函数
               可以在函数中()来制定一个或者多个形参(形式参数)
               多个形参之间用,隔开,声明形参,就相当于在函数内部声明了对应的变量
               但是并不赋值
       */
      function sum(a,b){
       console.log(a+b);
      };
          /*
               在调用函数的时候可以在()指定实参(实际参数)\
             - 实参将会复制给函数中的对应的形参
          */
    
      sum(1,2);
        /*
            调用函数时,解析器不会检查实参的类型, 
            所以需要注意,是否有可能会接受到非法的参数,如果有可能则需要对参数进行类型的检查
            函数的实参可以是任意的数据类型
        */

        sum(100,"就这");
        sum(true,false);
        /*
            调用函数时,解析器也不会检查实参的数量
                多余实参不会被赋值
            如果实参的数量少于形参的数量,则没有对应实参的形参僵尸Undefined
        */
       sum(100,200,300,400);
       sum(100);
    </script>
  </head>
  <body></body>
</html>
